In modern transport networks, there are applications where multiple flows of data, such as multiple IPTV channels, being transmitted from one source location to the multiple remote or customer locations through a plurality of nodes. These nodes may include routers, switches, and/or other types of nodes. In some embodiments, the source may broadcast all of the data flows such that every remote location receives the same amount of data flows. In such cases, the nodes transport the data from the source to the various remote locations, a process referred to as broadcasting. Alternatively, the remote locations may request specific data flows, in which case a separate connection can be established from the source to each remote location for transmitting the requested data flows. The requested data flows are then transported from the source to the remote locations via a dedicated connection.
Unfortunately, there are disadvantages to broadcasting or using dedicated connections to transport multiple data streams in a network. Broadcasting all data streams from the source to the remote locations can be bandwidth consuming, especially when only a specific set of channels is needed by each location. Broadcasting could transmit unneeded data streams to some remote locations. Using dedicated connections to transport data through the network limits the superfluous data streams sent to the remote locations, but the connections increase the bandwidth consumption in the network and reduce overall network performance. Thus, there is a need for an improved mechanism.